function mxRectangleShape(bounds, fill, stroke, strokewidth)
{
	this.bounds = bounds;
	this.fill = fill;
	this.stroke = stroke;
	this.strokewidth = strokewidth || 1;
};
mxRectangleShape.prototype = new mxShape();
mxRectangleShape.prototype.constructor = mxRectangleShape;
mxRectangleShape.prototype.createHtml = function()
{
	var node = document.createElement('DIV');
	this.configureHtmlShape(node);
	return node;
};
mxRectangleShape.prototype.createVml = function()
{
	var name = (this.isRounded) ? 'v:roundrect' : 'v:rect';
	var node = document.createElement(name);
	this.configureVmlShape(node);
	return node;
};
mxRectangleShape.prototype.createSvg = function()
{
	var node = this.createSvgGroup('rect');

	if (this.strokewidth * this.scale >= 1 && !this.isRounded)
	{
		this.innerNode.setAttribute('shape-rendering', 'optimizeSpeed');
	}
	return node;
};